export interface UserGroupTableParams {
  current: number;
  isScheduled: boolean;
  name: string;
  policyIdList: number[];
  size: number;
}
export interface UserGroupTableRecord {
  createdTime: string;
  id: number;
  isScheduled: boolean;
  lastUpdateTime: string;
  name: string;
  policyId: number;
  policyName: string;
  description: string;
  isScheduledStr: string;
}
export interface UserGroupTableItem {
  current: number;
  pages: number;
  records: UserGroupTableRecord[];
  size: number;
  total: number;
}

export interface EditUserGroupParams {
  description: string;
  id: number;
  name: string;
}

export interface CreateUserGroupParams {
  description: string;
  name: string;
  userIdList: number[];
}

export interface DeleteUserGroupParam {
  groupId: number;
}

export interface AppItem {
  appId: number;
  appName: string;
}

export interface AuthParam {
  groupId: number;
  policyId: number;
  resourceIdList: number[];
}

export interface CompoItem {
  id: number;
  name: string;
}
export interface CancelAuthParam {
  groupId: number;
}
export interface AuthTableParam {
  current: number;
  groupName: string;
  policyName: string;
  resourceName: string;
  size: number;
}
export interface AuthTableRecord {
  groupId: number;
  groupName: string;
  isOMAdmin: boolean;
  policyDescription: string;
  policyId: number;
  policyName: string;
  resourceList: string;
}
export interface AuthTableItem {
  current: number;
  pages: number;
  records: AuthTableRecord[];
  size: number;
  total: number;
}

export interface AuthPolicyItem {
  description?: string;
  id: number;
  isBuiltIn: boolean;
  name: string;
  label: string;
  value: number;
}

export interface BatchAddParam {
  groupId: number;
  userIdSet: number[];
}

export interface GroupListItem {
  id: number;
  name: string;
  label: string;
  value: number;
}

export interface WorksheetUserItem {
  groupIdList: number[];
  id: number;
  name: string;
  userGroup: string;
  key: string;
}
export interface DutyWorksheetUserList {
  id: number;
  name: string;
}
export interface DtTime {
  hour: string;
  minute: string;
  nano: number;
  second: string;
}
export interface DutyItemList {
  cycleNumber: number;
  dutyName: string;
  dutyWorksheetUserList: DutyWorksheetUserList[];
  endTime: DtTime;
  startTime: DtTime;
}
export interface CycleItemList {
  dutyItemList: DutyItemList[];
}
export interface CustomizedSchedule {
  cycleItemList: CycleItemList[];
  scheduleCycle: number;
  ///////这里这个对象看传不传
  templateCycleItem: object;
  useTemplate: boolean;
}
export interface QuickDutyItemList {
  dutyWorksheetUserList: DutyWorksheetUserList[];
}
export interface QuickSchedule {
  dutyDuration: number;
  quickDutyItemList: QuickDutyItemList[];
}
export interface UpdateParam {
  customizedSchedule: CustomizedSchedule;
  groupId: number;
  isQuickSchedule: boolean;
  quickSchedule: QuickSchedule;
  timestamp: number;
}

export interface UpdateItem {
  customizedSchedule: CustomizedSchedule;
  groupId: number;
  isQuickSchedule: boolean;
  quickSchedule: QuickSchedule;
  timestamp: number;
}
export interface DutyDurationItem {
  description: string;
  duration: number;
}
export interface FastScheduleParam {
  customizedSchedule: CustomizedSchedule;
  endDate: string;
  groupId: number;
  isQuickSchedule: boolean;
  quickSchedule: QuickSchedule;
  startDate: string;
  timestamp: number;
}
export interface PreviewDutyItemList {
  dutyWorksheetUserList: DutyWorksheetUserList[];
  timeRange: string;
}
export interface SchedulePreview {
  date: string;
  previewDutyItemList: PreviewDutyItemList[];
}
export interface FastScheduleItem {
  schedulePreview: SchedulePreview[];
}
